Remote computing systems can enable users to remotely access hosted resources. Servers on the remote computing systems can execute programs and transmit signals indicative of a user interface to clients that can connect by sending signals over a network conforming to a communication protocol such as the TCP/IP protocol. Each connecting client may be provided a remote presentation session, i.e., an execution environment that includes a set of resources. Each client can transmit signals indicative of user input to the server and the server can apply the user input to the appropriate session. The clients may use remote presentation protocols such as the Remote Desktop Protocol (RDP) to connect to a server resource.
In remote desktop scenarios the graphics content of a user's desktop located on a host computer (e.g., the server) is typically streamed to another computer (e.g., the client). The server and the client will exchange the desktop graphics data in a well-defined protocol or format. Some remote desktop presentation protocols are stream oriented protocols that may use a stream based transport such as the Transmission Control Protocol (TCP) for exchanging data with the client. Protocols such as the TCP protocol typically exhibit high latency especially when the underlying transport is a wide area network (WAN) connection. If such a link is used for remote presentation data traffic, such latencies may result in a negative user experience because the desktop graphics data may be delivered to the client in a time delayed fashion. Thus, other techniques are needed in the art to solve the above described problems.